.page {
	--gray-rgb: 0, 0, 0;
	--gray-alpha-200: rgba(var(--gray-rgb), 0.08);
	--gray-alpha-100: rgba(var(--gray-rgb), 0.05);

	--button-primary-hover: #383838;
	--button-secondary-hover: #f2f2f2;

	align-items: center;
	justify-items: center;
	min-height: 100svh;
	padding: 80px;
	gap: 64px;
	font-family: var(--font-geist-sans);
}

@media (prefers-color-scheme: dark) {
	.page {
		--gray-rgb: 255, 255, 255;
		--gray-alpha-200: rgba(var(--gray-rgb), 0.145);
		--gray-alpha-100: rgba(var(--gray-rgb), 0.06);

		--button-primary-hover: #ccc;
		--button-secondary-hover: #1a1a1a;
	}
}

.main {
	display: flex;
	flex-direction: column;
	gap: 32px;
}

.main svg {
	font-size: 24px;
	line-height: 1em;
}

.ctas {
	display: flex;
	gap: 16px;
}

.ctas a {
	appearance: none;
	border-radius: 128px;
	height: 48px;
	padding: 0 20px;
	border: 1px solid transparent;
	transition: background 0.2s, color 0.2s, border-color 0.2s;
	cursor: pointer;
	display: flex;
	align-items: center;
	justify-content: center;
	font-size: 16px;
	line-height: 20px;
	font-weight: 500;
}

a.primary {
	background: var(--foreground);
	color: var(--background);
	gap: 8px;
}

a.secondary {
	border-color: var(--gray-alpha-200);
	min-width: 158px;
}

/* Enable hover only on non-touch devices */
@media (hover: hover) and (pointer: fine) {
	a.primary:hover {
		background: var(--button-primary-hover);
		border-color: transparent;
	}

	a.secondary:hover {
		background: var(--button-secondary-hover);
		border-color: transparent;
	}

	.footer a:hover {
		text-decoration: underline;
		text-underline-offset: 4px;
	}
}

@media (max-width: 600px) {
	.page {
		padding: 32px;
		padding-bottom: 80px;
	}

	.main {
		align-items: center;
	}

	.main ol {
		text-align: center;
	}

	.ctas {
		flex-direction: column;
	}

	.ctas a {
		font-size: 14px;
		height: 40px;
		padding: 0 16px;
	}

	a.secondary {
		min-width: auto;
	}

	.footer {
		flex-wrap: wrap;
		align-items: center;
		justify-content: center;
	}
}

@media (prefers-color-scheme: dark) {
	.logo {
		filter: invert();
	}
}
